Skip to content

Phase D0 — measure-first build probe: the build is SA-workspace-bound (CONFIRM) - #23

Merged
logannye merged 7 commits into
mainfrom
rosalind/phase-d0-build-probe
Jun 2, 2026
Merged

Phase D0 — measure-first build probe: the build is SA-workspace-bound (CONFIRM)#23
logannye merged 7 commits into
mainfrom
rosalind/phase-d0-build-probe

Conversation

@logannye

@logannye logannye commented Jun 2, 2026

Copy link
Copy Markdown
Owner

The first Phase-D increment, after the scoping workflow pivoted the kernel: the literal √t/Cook–Mertz combiner is retired as the construction mechanism (stubbed and discarded on the correctness path; SA-IS produces a permutation with no low-degree-extension structure; Cook–Mertz is super-polynomial with no systems realization). Phase D's real target is a native, polynomial-time, budget-tunable external-memory SA/BWT constructor along a measured space/time curve, wrapped in the shipped contract; √t is kept as honest theoretical framing.

D0 is the cheap, decisive measure-first gate before any external-memory work.

Result — CONFIRM

rosalind index now emits a build receipt: realized peak RSS (util/rss.rs) + a code-grounded n-scale BuildMemoryModel accountant (from the real sais_impl allocations) + the attribution ratio.

Genome bp realized peak B/base attribution
E. coli K-12 (NC_000913.3) 4,641,652 182 MiB 41 1.09
S. cerevisiae R64 (17 contigs) 12,157,105 482 MiB 41 1.08

Pre-registered gate (all met): E. coli peak within ±25% of ~185 MiB (182, −1.6%); ≥70% attributable (model envelopes realized); bytes/base identical (41) across a 2.6× size jump → the peak is the SA-construction workspace, scaling with n, not a fixed overhead. → D1 (blocked external-memory SA construction) greenlit; baseline curve point b=n = 41 B/base.

What's included

  • BuildMemoryModel (genomics/index/report.rs) — pure, unit-tested n-scale accountant.
  • rosalind index build receipt (realized peak + model breakdown + attribution).
  • scripts/build_memory_probe.sh — reproducible (E. coli + yeast, build-only).
  • docs/findings/2026-06-02-d0-build-memory-probe.md — the recorded verdict.
  • docs/OPEN_PROBLEMS.md reframed: √t = framing, native-EM = mechanism, no new-bound claim.

No construction-algorithm change; no sa_sample_rate knob (shrinks query, not build); MSRV 1.72; no new deps. Full suite green, 0 warnings (debug + release), fmt clean.

🤖 Generated with Claude Code

logannye and others added 7 commits June 1, 2026 19:53
First Phase-D increment after the kernel pivot (√t/Cook-Mertz retired as the
construction mechanism, kept as framing; native external-memory constructor is the
target). D0 instruments the existing build to emit a build receipt (realized peak
RSS + a logical n-scale SA-IS accountant), runs it on E. coli + yeast, and records
a pre-registered verdict (±25% of ~185 MiB AND ≥70% SA-workspace attribution) that
gates D1. Pure instrumentation + measurement + a focused OPEN_PROBLEMS reframing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e-bound) + OPEN_PROBLEMS √t-as-framing reframing (D0)
@logannye
logannye merged commit 7ffe6b0 into main Jun 2, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant